package mybatis.Utill;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.InputStream;

public class batisUtill {
    //经常用到的方法可以封装进工具包中
    //获取SqlSession对象的方法
    static SqlSession session = null;
    public static SqlSession getSession(){
        try {
            if (session==null){
                String resource = "mybatisConfugration.xml";
                InputStream stream = Resources.getResourceAsStream(resource);
//                如果想要在配置有多环境的情况下指定自己想要的环境创建factory可以在.build(stream)中字节流的后面增加一个字符串，如下
                String environment = "development";//或者"test" "production"等，前提是核心配置中已经配置了指定的环境
                SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(stream,environment);
                session = factory.openSession(true);
            }
        }catch (Exception e){
            e.printStackTrace();
            System.out.println("获取SqlSession对象失败");
        }
        return session;
    }

}
